# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Maintainer: Daniel M. Capella <polyzen@archlinux.org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
# Contributor: michalzxc
# Contributor: nbags <neilbags@gmail.com>

pkgname=fail2ban
pkgver=1.0.2
pkgrel=2
pkgdesc='Bans IPs after too many failed authentication attempts'
url='https://www.fail2ban.org/'
license=('GPL')
arch=('any')
depends=('iptables' 'python-pyinotify' 'whois' 'sqlite' 'python-systemd')
makedepends=('python-setuptools')
backup=(etc/fail2ban/fail2ban.conf
        etc/fail2ban/jail.conf
        etc/logrotate.d/fail2ban)
source=("$pkgname-$pkgver.tar.gz::https://github.com/fail2ban/$pkgname/archive/$pkgver.tar.gz")
sha512sums=('688a84361b5794e1658f53d2d200ce752fe1e3320ddb1742c32c4b4b82a79ace16ae464e7ea3eeb94a0e862bcac73c2d3a0e61dd7b28e179a4c857f950d74dbb')

prepare() {
  cd $pkgname-$pkgver
  sed -i 's|self.install_dir|"/usr/bin"|' setup.py
  sed -i 's/^before = paths-debian.conf/before = paths-arch.conf/' config/jail.conf
}

build() {
  cd $pkgname-$pkgver
  ./fail2ban-2to3
  python setup.py build
}

package() {
  cd $pkgname-$pkgver
  python setup.py install --root "$pkgdir" --optimize=1

  install -Dm644 build/fail2ban.service \
    "$pkgdir"/usr/lib/systemd/system/$pkgname.service
  install -Dm644 files/fail2ban-tmpfiles.conf \
    "$pkgdir"/usr/lib/tmpfiles.d/$pkgname.conf
  install -Dm644 files/fail2ban-logrotate \
    "$pkgdir"/etc/logrotate.d/fail2ban
  install -Dm644 files/bash-completion \
    "$pkgdir"/usr/share/bash-completion/completions/fail2ban

  # fix sendmail location
  sed -i 's/sbin/bin/g' "$pkgdir"/etc/fail2ban/action.d/sendmail*.conf

  install -Dm644 man/fail2ban.1 "$pkgdir"/usr/share/man/man1/fail2ban.1
  install -Dm644 man/fail2ban-client.1 \
    "$pkgdir"/usr/share/man/man1/fail2ban-client.1
  install -Dm644 man/fail2ban-regex.1 \
    "$pkgdir"/usr/share/man/man1/fail2ban-regex.1
  install -Dm644 man/fail2ban-server.1 \
    "$pkgdir"/usr/share/man/man1/fail2ban-server.1
  install -Dm644 man/jail.conf.5 "$pkgdir"/usr/share/man/man5/jail.conf.5

  rm -r "$pkgdir/run"
}
